package shujia.day19;

/*
    当我们要执行的表达式是新建一个对象，并且这个对象的构造方法的参数列表和接口里函数的参数列表一一对应时，
    我们就可以采用「引用构造方法」的格式。

    假如我们的 Lambda 表达式符合如下格式：
    ([变量1, 变量2, ...]) -> new 类名([变量1, 变量2, ...])
    我们就可以简写成如下格式：
    类名::new
 */

interface Inter10{
    Student fun2(int a,String b,int c,String d);
}

class Demo10{
    public static void show(int a,String b,int c,String d, Inter10 inter10){
        Student student = inter10.fun2(a, b, c, d);
        System.out.println(student);
    }
}

public class LambdaDemo10 {
    public static void main(String[] args) {
        Demo10.show(1003,"方直",18,"安徽淮北",(a,b,c,d)->new Student(a,b,c,d));
//
        Demo10.show(1003,"方直",18,"安徽淮北",Student::new);
    }
}
